from sklearn.feature_extraction.text import CountVectorizer
from sklearn.decomposition import LatentDirichletAllocation

# 加载数据
with open('../data/1.txt') as f1:
    res1=f1.read()
    
with open('../data/2.txt') as f2:
    res2=f2.read()
    
with open('../data/3.txt') as f3:
    res3=f3.read()    

contents=[res1,res2,res3]
print(contents)
# 将文本数据转换为向量的形式(词袋法) 要求给定的数据中单词是以空格隔开的
cntVector=CountVectorizer()
cnt=cntVector.fit_transform(contents)
print(cnt.shape)
print(cnt.toarray())
# LDA主题模型构建
# learning_method：指定一部分一部分的文档进行模型的学习
lda=LatentDirichletAllocation(n_topics=2,learning_method='batch')
docs=lda.fit_transform(cnt)
# 打印文档和主题之间的相关性
print(docs)
# 打印主题和词之间的相关性
print(lda.components_)
